<template>
  <div>
    <UploadExcel :on-success="onSuccess" :before-upload="beforeUpload" />
  </div>
</template>
<script>
// import UploadExcel from '@/components/lib/UploadExcel/index.vue'
import { sysUserBatch } from '@/api/employees'
import dayjs from 'dayjs'
export default {
  // components: {
  //   UploadExcel
  // },
  methods: {
    beforeUpload(res) {
      // 限制文件大小在2mb内
      const limit2M = res.size / 1024 / 1024 < 2
      const limitType = /\.(xlsx|xls|csv)$/.test(res.name)
      if (!limit2M) {
        this.$message.error('请上传2Mb内的文件')
      }
      if (!limitType) {
        this.$message.error('请上传xlsx|xls|csv的文件')
      }

      return limit2M && limitType
    },
    async onSuccess(res) {
      const newArr = res.results.map((item) => {
        return {
          username: item['姓名'], //	string	非必须		姓名
          mobile: item['手机号'], //	string	非必须		手机号
          workNumber: item['工号'], //	string	非必须		工号
          timeOfEntry: this.excelTimeTojs(item['入职日期']), //	string	非必须		入职时间
          correctionTime: this.excelTimeTojs(item['转正日期']) //	string	非必须		转正时间
        }
      })
      await sysUserBatch(newArr)
      // 提示
      this.$message.success('导入成功')
      // 回到员工页面
      this.$router.push('/employees')
    },

    /*
      excel时间：1900年到现在的天数，它是1作为起始值，时区偏差8小时，北京时间-8小时
      js时间:1970年到现在的毫秒数
      excel时间转换为js时间
    */
    excelTimeTojs(num) {
      const t = new Date((num - 1) * 24 * 60 * 60 * 1000 - 8 * 60 * 60 * 1000)
      t.setYear(t.getFullYear() - 70)
      return dayjs(t).format('YYYY-MM-DD')
    }
  }
}
</script>
<style></style>
